home *** CD-ROM | disk | FTP | other *** search
- EEMRAM 1.01
-
-
- Purpose
- -------
- EEMRAM is a small utility that can expand your DOS memory from
- 640K to a maximum of 736K using Enhanced Expanded Memory (EEM).
- To use EEMRAM, you must have a memory board that provides EEM,
- such as the AST RAMpage. A companion program (DERAM) can be used
- to restore the "normal" 640K if necessary.
-
- | indicates information that is new or changed in recent
- versions.
-
-
- Use
- ---
- Here is EEMRAM's syntax:
-
- eemram [/#] [/S]
-
- When run, EEMRAM will increase DOS-usable memory DOS from 640K
- to a maximum of 736K. The exact amount depends on your hardware
- configuration, particularly on what type of display adapter you
- have installed. You may want to run EEMRAM via your AUTOEXEC
- startup batch, ideally as the first external program run by the
- batch:
-
- echo off
- cd c:\util
- eemram
- ...
-
- The optional /S parameter instructs EEMRAM to (S)ave certain
- information in memory where it can be accessed by the DERAM
- program (see below). DERAM will not work unless EEMRAM was run
- with the /S option.
-
- The optional /# parameter limits EEMRAM's use of EEMS memory to
- some amount less than the maximum possible. See "Limiting
- Memory Size".
-
- We've included a small program that displays the total amount
- of memory available to the system and the amount that's currently
- free for DOS's use. To see the effects of EEMRAM, just run MS
- (Memory Size) before and after running EEMRAM.
-
-
- DERAM
- -----
- As explained below ("Memory Allocation"), EEMRAM works by
- mapping EEMS memory to DOS addresses beginning at memory segment
- A000. There is a potential conflict here: the Enhanced Graphics
- Adapter (EGA) may also use memory beginning at A000. It is also
- possible that you may have other hardware using this area of
- memory. The result of such conflicts is unpredictable, but the
- most likely is that extraneous data will appear in graphics
- displays.
-
- You may also find that you have only a few programs that can
- really use the extra EEMRAM memory and that you prefer to leave
- the EEMS memory free most of the time.
-
- The DERAM program helps with these situations by reversing the
- effects of EEMRAM: it restores the original 640K of DOS memory
- and releases the EEMRAM-allocated EEMS memory back to the free
- memory pool.
-
- To use DERAM, you must have run EEMRAM with the /S option:
-
- C> eemram /s
-
- This saves certain information the DERAM needs. To restore the
- original 640K and eliminate the memory conflict, just run DERAM:
-
- C> deram
-
- As an example of using EEMRAM and DERAM, suppose that you only
- want to have the extra memory available for one program, your
- word processor BESTWP. The following command sequence will do
- the trick:
-
- C> eemram /s
- C> bestwp
- C> deram
-
- You can enter these commands manually or make a small batch file
- or PCED synonym.
-
- The opposite situation holds where you want to run with extra
- memory most of the time, but release it before running the EGA
- graphics program GREATGFX. The following commands will work,
- assuming that you originally installed EEMRAM with /S:
-
- C> deram
- C> greatgfx
- C> eemram /s
-
- NOTE: when you use /S, EEMRAM places in memory a small amount
- (four bytes) of information that DERAM needs. The information
- is stored in the little used Interapplications Communication
- Area (ICA). If EEMRAM cannot find four consecutive unused bytes
- in this area, it cannot store the information and DERAM won't
- work.
-
-
- Limiting Memory Size: /# parameter
- ----------------------------------
- The optional EEMRAM /# parameter can be used to explicitly
- reduce the number of 16K pages of EEMS memory it assigns to DOS
- (see "Memory Allocation Information" for more information about
- memory use). "#" is a decimal digit from 1 to 6 that specifies
- how many pages you want assigned.
-
- EEMRAM will normally assign all contiguous pages available
- from A000 to B400 (6 pages maximum, or 96K). However, there may
- be cases in which you don't want all of this used, and that's
- what /# does. An example of /# use:
-
- C> eemram /2
-
- The /2 means "use only two 16K pages of EEMS memory."
-
- If you specify more pages than are available, EEMRAM will only
- use the number available, in effect ignoring your parameter.
-
- Here is a map showing the effects of all possible /#:
-
- Page /1 /2 /3 /4 /5 /6
- ---- -- -- -- -- -- --
- A000 XX XX XX XX XX XX
- A400 XX XX XX XX XX
- A800 XX XX XX XX
- AC00 XX XX XX
- B000 XX XX <---MDA memory begins
- B400 XX
- B800 <---CGA memory begins
- -- -- -- -- -- --
- KB added 16 32 48 64 80 96
- Total KB 656 672 688 704 720 736
-
-
-
- Memory Allocation Information
- -----------------------------
- When a typical EEMS memory board is installed, it "backfills"
- DOS memory to 640K; that is, some of the memory on the EEMS
- board is permanently assigned to DOS in such a way that the
- system will appear to DOS to have 640K of main memory. This
- 640K occupies RAM addresses 00000 to 9FFFFF, or, in the more
- traditional segment notation, memory segments 0000 to 9FFF.
-
- Segments beginning at A000 (the next segment above 9FFF) are not
- assigned to DOS by the EEMS manager.
-
- However, 64K to 96K of addresses beginning at A000 are often
- unused on PC's. On a machine equipped with a monochrome display
- adapter (MDA), display memory begins at segment B000, leaving
- 64K open from A000-AFFF; on a machine equipped with a color
- graphics adapter (CGA), display memory begins at segment B800,
- leaving 96K open from A000-B7FF.
-
- It is possible to force the EEMS manager to assign memory for
- these addresses and to convince DOS that the EEMS memory so
- assigned is usable by the system, resulting in as much as 736K
- of DOS-usable memory. That is what EEMRAM does.
-
- [Contrary to popular opinion, DOS is not limited to 640K;
- it can use whatever memory is available, up to a limit of 1
- megabyte. The limiting factor is your hardware. DOS can only
- uses memory up to the lowest memory address used by any
- component of your PC's hardware: adapter cards, ROM modules,
- etc. Also, the DIP switches on many machines are limited to a
- maximum of 640K switch-settable; to go beyond this, it's
- necessary for software such as EEMRAM to override the switch
- settings.]
-
-
- EEMS "exclusion" switches
- -------------------------
- When EEMRAM is run, it asks the EEMS manager which pages (16K
- blocks) of memory are available for mapping. EEMRAM will only
- use contiguous pages beginning at A000 and ending at B800, a
- maximum of 6 pages (96K): A000, A400, A800, AC00, B000, and
- B400. If an MDA is installed, the EEMS manager will inform
- EEMRAM that pages B000 and B400 are not available, reulting in 4
- usable pages (64K).
-
- Many EEMS managers have an optional install-time switch that
- explcitly tells them NOT to allow mapping memory to specific
- pages. For example, AST's REMM.SYS has an X parameter that
- eXcludes pages:
-
- device=remm.sys /X=A800-AFFF
-
- In this example, REMM would not map memory to pages A800 and
- AC00, so EEMRAM would be able to use only A000 and A400 (32K
- total). If you find that EEMRAM is using less EEMS memory than
- you'd expect (or if you see the message "No pages available at
- A000"), you might look to this as a possible cause.
-
-
- | EMSINFO
- | -------
- | The separate program EMSINFO is a quick test that should tell
- | you if your system can use EEMRAM. Run it by just typing
- | "EMSINFO" at the DOS prompt.
- |
- | EMSINFO will verify that the EMS manager software is loaded and
- | operating correctly. It will also test to ensure that the EMS
- | memory is "enhanced." If you see the message:
- |
- | EMS is probably not enhanced
- |
- | then EEMRAM will not work. The message indicates that the EMS
- | manager software does not support a critical "enhanced" function
- | that EEMRAM needs (function 41, AH=68H).
- |
- | If you see the message:
- |
- | EMM does NOT support some newer functions, possibly outdated
- |
- | then EEMRAM will work, but you might want to check with your EMS
- | vendor about getting a newer version of the EMS manager. For
- | example, versions of AST's REMM.SYS earlier than 3.0 will yield
- | this message.
- |
- | Finally, EMSINFO displays a list of all memory segments to which
- | EMS memory can be mapped. In order for EEMRAM to run, segment
- | A000 must be in the list.
-
-
- EEMRAM error messages
- ---------------------
- Expected 640K of DOS memory
-
- EEMRAM expects to find 640K of DOS RAM in the system; this
- is the normal case if you have an EEMS board installed.
- You'll see this message if you try to run EEMRAM in
- "session" mode (format 1) twice in one session.
-
- Unable to resize memory
-
- EEMRAM can't modify DOS's memory allocation blocks, so
- nothing has been done. Always run EEMRAM directly at the
- DOS prompt or via AUTOEXEC; don't run it as a "child" of
- some other program.
-
- Installed EMS memory is not enhanced
-
- In this world there are two kinds of expanded memory
- specificatons: EMS and Enhanced EMS (EEMS). Standard EMS
- hardware cannot do what EEMRAM has to do to map the expanded
- memory, so it cannot be used. If you see this message, you
- do not have EEMS memory and you can't use EEMRAM.
-
- Error accessing EEMS manager
-
- Generic message indicating that there's a problem with the
- EEMS manager software: it's corrupted, you don't have
- expanded memory, etc.
-
- No pages available at A000
-
- A000 (hex) is the address where memory above 640K would
- start. The EEMS manager has told EEMRAM that there is no
- "page frame" available at A000, so EEMRAM can't assign any
- EEMS memory there. The most likely cause is that other
- hardware (EGA?) is already using this area of memory.
- Another possibility is that you have set an exclusion switch
- for page A000 when loading your EEMS manager.
-
- Warning: unable to save /S information for DERAM
-
- There is insufficient memory unused in the area that
- EEMRAM/DERAM use to pass needed information back and forth.
- This is a warning message: EEMRAM itself has run successfully,
- but DERAM won't work.
-
- Valid pages are 1-6
-
- The only legal values for the /# parameter are 1 through 6.
-
- No EMS memory available
-
- All of your expanded memory is already in use.
-
-
- DERAM error messages
- --------------------
-
- System already set to 640K
-
- DERAM has found that the system already shows 640K of DOS
- memory, so it hasn't done anything.
-
- EEMRAM not run with /S option, unable to resize memory
-
- In order to use DERAM, you must run EEMRAM with the /S
- switch. If you did run EEMRAM with /S and you see this
- message, some other program is using the same area of memory
- that EEMRAM/DERAM use to pass information back and forth.
- You will not be able to use DERAM in this case (fortunately,
- it's unlikely).
-
- Error accessing EEMS manager
-
- Generic message indicating that there's a problem with the
- EEMS manager software: it's corrupted, you don't have
- expanded memory, etc.
-
- Unable to resize memory
-
- DERAM can't modify DOS's memory allocation blocks, so
- nothing has been done. Always run DERAM directly at the
- DOS prompt or via AUTOEXEC; don't run it as a "child" of
- some other program.
-
-
- Notes
- -----
- 1. We can't promise that EEMRAM will work with any specific
- hardware configuration. If your hardware conflicts with what
- EEMRAM does (EEMRAM won't run properly, system locks up, etc.),
- there's nothing we can do about it.
-
- 2. EEMRAM is not a TSR (i.e., it is not resident). It runs and
- terminates, restoring the full amount of memory to the system.
- Because EEMRAM is not a TSR, don't try to use MARK/RELEASE,
- REFEREE, POPDROP, or similar TSR managers to "remove" EEMRAM.
- EEMRAM cannot be removed by these managers.
-
- 3. EEMRAM and DERAM both return an errorlevel of 255 if they
- encounter any errors.
-
- 4. If EEMRAM needs more EEMS memory than is available, it will
- use all that is available. If no EEMS memory at all is
- available, it is an error.
-
- 5. Remember that EEMRAM requires ENHANCED expanded memory. This
- is EMS memory that conforms to the Ashton-Tate/Quadram/AST
- Enhanced Expanded Memory Specification (AQA EEMS). EEMRAM will
- not work with "standard" (Lotus-Intel-Microsoft or LIM) expanded
- memory such as that provided by the Intel AboveBoard.
-
-
- Versions
- --------
- | 1.01 08/20/87
- | Changed test for enhanced memory, may be a little more
- | tolerant of older versions of REMM.SYS et al.
-
-
- Copyright/License/Warranty
- --------------------------
- This document and the program files EEMRAM.COM and DERAM.COM
- ("the software") are copyrighted by the author. The copyright
- owner hereby licenses you to: use the software; make as many
- copies of the program and documentation as you wish; give such
- copies to anyone; and distribute the software and documentation
- via electronic means. There is no charge for any of the above.
-
- However, you are specifically prohibited from charging, or
- requesting donations, for any such copies, however made; and
- from distributing the software and/or documentation with
- commercial products without prior permission. An exception is
- granted to not-for-profit user's groups, which are authorized to
- charge a small fee (not to exceed $7) for materials, handling,
- postage, and general overhead. NO FOR-PROFIT ORGANIZATION IS
- AUTHORIZED TO CHARGE ANY AMOUNT FOR DISTRIBUTION OF COPIES OF
- THE SOFTWARE OR DOCUMENTATION, OR TO INCLUDE COPIES OF THE
- SOFTWARE OR DOCUMENTATION WITH SALES OF THEIR OWN PRODUCTS.
-
- THIS INCLUDES A SPECIFIC PROHIBITION AGAINST FOR-PROFIT
- ORGANIZATIONS DISTRIBUTING THE SOFTWARE, EITHER ALONE OR WITH
- OTHER SOFTWARE, AND CHARGING A "HANDLING" OR "MATERIALS" FEE OR
- ANY OTHER SUCH FEE FOR THE DISTRIBUTION. NO FOR-PROFIT
- ORGANIZATION IS AUTHORIZED TO INCLUDE THE SOFTWARE ON ANY MEDIA
- FOR WHICH MONEY IS CHARGED. PERIOD.
-
- No copy of the software may be distributed or given away without
- this document; and this notice must not be removed.
-
- There is no warranty of any kind, and the copyright owner is not
- liable for damages of any kind. By using this free software,
- you agree to this.
-
- The software and documentation are:
-
- Copyright (C) 1987 by
- Christopher J. Dunford
- The Cove Software Group
- Post Office Box 1072
- Columbia, Maryland 21044
- (301) 992-9371
-
- Comments to Chris Dunford [CIS 76703,2002].
-